package com.obelisco.vista.seguridad;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import nextapp.echo2.app.Alignment;
import nextapp.echo2.app.Component;
import nextapp.echo2.app.Row;

import com.obelisco.modelo.data.Usuario;
import com.obelisco.modelo.servicios.seguridad.IServicioAdministrarUsuarios;
import com.obelisco.vista.componentes.PaneSubirImagen;
import com.obelisco.vista.componentes.TablaDatosListener;
import com.obelisco.vista.componentes.TipoFuncion;
import com.obelisco.vista.controles.BindingTextField;
import com.obelisco.vista.inicio.Aplicacion;
import com.obelisco.vista.plantillas.VentanaListaBase;

public class VentanaListaDemo extends VentanaListaBase {
	
	private IServicioAdministrarUsuarios servicioAdministrarUsuarios;
	
	private TablaDatosListener eventoTabla = new TablaDatosListener(){

		@Override
		public void listaObjetosSeleccionados(List<Object> listaObjetos) {
			// TODO Auto-generated method stub
			
		}

		@Override
		public Component onDibujarCelda(Object objeto,Object value, int fila, int columna, Alignment alineacion) {
			// TODO Auto-generated method stub
//			BindingTextField field = new BindingTextField(100);
//			field.setBinding(objeto, "nombrecompleto");
			
			Row fila1 = new Row();

			
			Usuario usuario = (Usuario) objeto;
			PaneSubirImagen field = new PaneSubirImagen();
			field.setBinding(usuario.getFoto(), "contenido");
			fila1.add(field);
			
			BindingTextField txtNombre = new BindingTextField(100);
			txtNombre.setBinding(usuario, "nombrecompleto");
			fila1.add(txtNombre);
			
			
			Aplicacion.getApp().getContexto().getUsuarioActual();
			
			return fila1;
		}

		@Override
		public void seleccionObjeto(Object objeto) {
			// TODO Auto-generated method stub
			
		}
	
	};
	
	public VentanaListaDemo() {
		super("Demo TablaDatos");
		tabla.addTablaDatosListener(eventoTabla);
	}
	
	

	@Override
	protected void cargarDatos() {
		List<?> items = servicioAdministrarUsuarios.buscarUsuarios();

		Map<String, String> camposMostrar = new HashMap<String, String>();
		camposMostrar.put("Usuario", "login");
		
		tabla.setItems((List<Object>)items, camposMostrar, new ArrayList<String>());
	}

	@Override
	public void onEliminacionConfirmada(Object objetos) {
		// TODO Auto-generated method stub

	}

	@Override
	public void onFuncionPersonalizada(Object objeto, TipoFuncion tipoFuncion,
			String nombre) {
		// TODO Auto-generated method stub

	}

	@Override
	protected void cargarDatos(List<Object> listaParametrosRealizarBusqueda) {
		// TODO Auto-generated method stub
		
	}

	public IServicioAdministrarUsuarios getServicioAdministrarUsuarios() {
		return servicioAdministrarUsuarios;
	}

	public void setServicioAdministrarUsuarios(
			IServicioAdministrarUsuarios servicioAdministrarUsuarios) {
		this.servicioAdministrarUsuarios = servicioAdministrarUsuarios;
	}

}
